home *** CD-ROM | disk | FTP | other *** search
- *****************
- * *
- * The X-Systems *
- * *
- *****************
-
- Now there are 5 library systems starting with an X in their name and 3 of
- them end in master.library. I think a bit of information is needed to
- know what they are. Note that these systems are shared libraries and thus
- useless without an application program using them. XPK, XFD and XAD have
- some easy application programs included in the distribution, but most
- important are all the other applications using them.
-
- XPRxxxxx.library: (XPR = eXternal PRotocol)
-
- First of all there was the idea to implement program independent transfer
- protocols to make different transfer system support a lot better than it
- was this time. The xprxxxxx.libraries were invented. Most of the protocols
- are wellknown from mailbox times (Z-Modem, X-Modem, Y-Modem, Kermit, ...).
- Before the XPR libraries existed, the programs supported the protocols
- directly and most time only some of them and always missing the one you
- needed yourself. XPR made an end to that. You only copy the specific
- library to LIBS: and select it in the terminal program (like Term) and
- know you can use it. The libraries can be developed by different authors
- and totally independent from any terminal program.
- To be able to do so, all the libraries use a standard interface, which
- does not differ in all the libraries. So the terminal programm does
- not need to do anything special, but only call the requiered function
- and the XPR library is doing its work.
-
- XEMxxxxx.library: (XEM = eXternal EMulation)
-
- Like the XPR libraries, these libraries can be developed totally independant
- from terminal programs. They present a set of different terminal emulations
- (VT100, VT340, RIP, ...) and are designed a lot like the XPR libraries.
-
- XPKxxxx.library: (XPK = eXternal PacKer)
-
- This system was developed by Urban Dominik Müller and some other persons
- and is continued by me. Its main concept is taken from XPR, but it is
- used totally different. It is no longer used with terminal programs, but
- with any program. XPK is a system to pack and unpack data in a standardized
- data format XPKF. XPK consists of one xpkmaster.library, which does all
- the work you need to do to support packing (data handling, file format
- creation, parameter checking, ...) and a lot of sub libraries, which are
- equal to the XPR libraries. They have an standardized interface and are
- stored in LIBS:compressors directory. Normally you call the master library
- when you need to pack or unpack something. You also may use the sub
- libraries directly (like for XPR). The sub libraries all implement
- different packing or encrypting algorithms. In an application program the
- user only needs to select one of the libraries and the program now uses
- that algorithm.
- This allows applications to use up-to-date compression/encryption without
- spending a lot of work implementing these in the program itself. And the
- user is able to select parameters like "low packrate - high speed" or "best
- rate - lower speed" or any other combination he likes.
-
- XFDmaster.library: (XFD = eXternal File Decruncher)
-
- Another system developed by Georg Hörmann. This system allows to decrunch
- any type of crunched Amiga data (executable programs, data files). Unlike
- XPK, which only decrunches its own types, XFD decrunches data of all the
- other packer system developed over the years. XFD cannot crunch data,
- only decrunch. Like XPK it consists of one xfdmaster.library doing all the
- work. Unlike XPK the slaves can no longer be accessed directly, as they are
- no longer libraries. Each slave is either internally in the library or
- an extern file in LIBS:xfd. The extern slaves are normal Amiga executable
- files with a standard interface allowing xfdmaster.library to call their
- functions. These extern files can be developed independend from
- xfdmaster.library by different authors, like it is for the other 4 systems.
- Like for XPK, I'm now the author of the XFD system at least until Georg
- wants back the authorship.
-
- XADmaster.library: (XAD = eXternal Archive Decruncher)
-
- This is the last system in this line. It's developed by myself and really
- the newest. It is much like XFD system, but it dearchives file and disk
- archives instead of files. The xadmaster.library gives application
- programs a standard interface to extract files from file archives (lha,
- lzx, ...) or unarchive disk archives (dms, zoom, ...). Like XFD, the XAD
- system has library internal clients and extern clients stored in LIBS:xad
- directory. These extern clients are Amiga executable files like for XFD,
- but they have a totally different interface.
-
- Additional words:
- As XPK and XFD both decrunch data, they are linked a bit. XFD always
- decrunches XPKF files by calling xpkmaster.library. XPK itself asks
- xfdmaster.library, wheather a certain format is known to it and if it is,
- XPK calls XFD to decrunch it. In this way XPK can decrunch some of the
- non-XPK file types using XFD. As XPK needs to know which size the file
- will have after decrunching, before the file is really decrunched, not
- all of XFD's slaves are supported by XPK. Only slaves for crunched data
- files which return uncrunched size on recognition are supported.
-
- Also XAD clients may call XPK or XFD system to decrunch their data.
-
- "Clients" (XAD), "Slaves" (XFD) and "Sub Libraries" (XPK) are different
- words for the same thing: The parts really doing the work.
-
-
- Dirk Stöcker <stoecker@epost.de>
-
- 25th November 1998
-